farmterritoryfandomcom_ru-20200215-history
Модуль:Tree
local p = {} local arrData = mw.loadData( 'Module:DataTree' ) local id = "" --Список деревьев--* function p.tplist(frame) local tp = frame.args1 local data=getitems() local total=0 local text="" for i, v in ipairs(data) do if v.tp tp then text=text.."".. ""..v.level.."50px".. ""..v.name.."".. ""..v.buy.."".. ""..v.prod.."".. ""..v.sell.."".. ""..v.tm.."".. ""..v.rez1.."".. ""..v.rez2.."".. ""..v.location.."".. ""..v.agronom.."".. "" total=i end end return " ".. " Всего: "..total.." ".. " ".. " Уровень ".. " Название ".. " Покупка 15px ".. " Плоды ".. " Продажа 15px ".. " Рост, часы ".. " Доход 15px ".. " Доход в час 15px ".. " Локация ".. " Домик агронома ".. " "..text.. " " end --Список всех деревьев-- function p.alllist() local data=getitems() local total=0 local text='' for i, v in ipairs(data) do text=text.."".. ""..v.level.."50px".. ""..v.name.."".. ""..v.buy.."".. ""..v.prod.."".. ""..v.sell.."".. ""..v.tm.."".. ""..v.rez1.."".. ""..v.rez2.."".. ""..v.location.."".. ""..v.agronom.."".. "" total=i end return " ".. " Всего: "..total.." ".. " ".. " Уровень ".. " Название ".. " Покупка 15px ".. " Плоды ".. " Продажа 15px ".. " Рост, часы ".. " Доход 15px ".. " Доход в час 15px ".. " Локация ".. " Домик агронома ".. " "..text.. " " end --Список всех деревьев для фоток-- function p.photo() local data=getitems() local total=0 local text='' for i, v in ipairs(data) do text=text.."".. ""..v.name.."".. " ".. " ".. "".. " ".. "".. "".. " ".. "".. "".. "50px".. "".. "".. "50px".. "".. "".. "50px".. "".. "".. "50px".. "".. "".. "50px".. "".."" end return " ".. " ".. " Имя ".. " Прод ".. " big ".. " tree ".. " del ".. " Имя ".. " бРО ".. " сер ".. " зол ".. " пл ".. " алм ".. " "..text.. " " end function path() return ' [['..arrDataid.tp1..']] / [['..arrDataid.tp..']] / '..id..' ' end function infobox() local text=' '.. ' '..id..' '.. ' center '.. ' '.. ' '.. ' Категория '.. ' [['..arrDataid.tp..']] '.. ' '.. ' '.. ' Продукт '.. ' ' if arrDataid.nameprod '' then text=text..id else text=text..arrDataid.nameprod..' ��' end text=text..' '.. ' '.. ' '.. ' Рост, часы '.. ' '..arrDataid.tm..' �� '.. ' '.. ' '.. ' Локация '.. ' ' if arrDataid.location '' then text=text..'Любая' else text=text..'[['..arrDataid.location..']]' end text=text..' '.. ' '.. ' '.. ' '.. ' Цена '.. ' ' text=text..' Покупка '.. ' ' if arrDataid.buy~=0 then text=text..arrDataid.buy..' 15px' else if pcall(function () if arrDataid.buyagro nil then error() end end) then text=text..arrDataid.buyagro..' 15px' end end text=text..' '.. ' '.. ' '.. ' Продажа '.. ' '..arrDataid.sell..' 15px'.. ' '.. ' '.. ' '.. ' '.. ' Доход '.. ' '.. ' Доход в час '.. ' ' if arrDataid.tm~=0 and arrDataid.sell~=0 then text=text..(math.floor(arrDataid.sell/arrDataid.tm*100)/100)..' ��' else text=text..'' end text=text..' '.. ' '.. ' '.. ' ' return text end function description() local text='' text=' Описание ' if arrDataid.nameprod '' then nameprod=id else nameprod=arrDataid.nameprod end text=text..' 50px '.. ' Дерево сажается один раз, а урожай с него можно собирать многократно. '.. ' Собрать урожай можно только после того, как он достигнет зрелости (100%). У каждого дерева свое индивидуальное время роста. Наведите курсор мышки на дерево и увидите, сколько времени осталось до сбора урожая. '.. ' Для сбора урожая щелкните мышкой по дереву, крона дерева изменится (станет чуть поменьше размером или опустеет), а плоды дерева автоматически переместятся на склад. '.. ' Собранный урожай можно продать, переработать на фабрике или скормить животным. '.. ' Время созревания плодов составляет �� '..arrDataid.tm..' час., при этом ваш доход в час составляет ' if arrDataid.tm~=0 and arrDataid.sell~=0 then text=text..(math.floor(arrDataid.sell/arrDataid.tm*100)/100) else text=text..'' end text=text..' 15px. '.. ' Покупка ('..id..') Продажа ('..nameprod..') ' text=text..' ' if arrDataid.buy~=0 then text=text..' '..arrDataid.buy..' 15px ' else if pcall(function () if arrDataid.buyagro nil then error() end end) then text=text..' '..arrDataid.buyagro..' 15px ' end end text=text..' '..arrDataid.sell..' 15px ' if arrDataid.tm~=0 and arrDataid.buyagro 0 and arrDataid.sell~=0 then text=text..' Покупка дерева окупится через '..(math.floor(arrDataid.buy/arrDataid.sell*arrDataid.tm/24*100)/100)..' дней, для этого нужно снять '..(math.floor(arrDataid.buy/arrDataid.sell*100)/100)..' урожаев. ' elseif pcall(arrDataid.buyagro) and arrDataid.buyagro>0 then text=text..' Окупаемость дерева вычислить нельзя, т.к. дерево покупается за агробаксы. ' end if arrDataid.exper~=0 then text=text..' После посадки дерева вы получаете '..arrDataid.exper..' . ' end text=text..' Если лерево мешается в том месте, где вы его посадили, его можно передвинуть на другое, более удобное место, или удалить с игрового поля. ' if arrDataid.del~=0 then text=text..' При удалении дерева вы получаете '..arrDataid.del..' 15px. ' end text=text..' Посадить дерево можно в любой зоне: Поле, Промзона, Зона декора. ' return text end function getitems() local data={} local i=1 for key, v in pairs(arrData) do datai={name=v.name, tm=v.tm,buy=v.buy,sell=v.sell,tp=v.tp} if v.level 0 then datai.level='' else datai.level="c "..v.level.." ур. " end if v.buy 0 then datai. buy='' else datai. buy=v.buy end if v.tm 0 then datai.tm='' else datai.tm=v.tm end if v.sell 0 then datai.sell='' datai.rez1='' datai.rez2='' else datai.sell=v.sell datai.rez1=math.floor(v.buy/v.sell*100)/100 datai.rez2=math.floor(v.buy/v.sell*v.tm/24*100)/100 end datai.prod=(v.nameprod '') and v.name or v.nameprod if v.location '' then datai.location='Любые' else datai.location=''..v.location..'' end if pcall(function () if v.agronom nil then error() end end) then datai.agronom='Домик агронома' else datai.agronom='' end i=i+1 end table.sort(data,function( a, b ) return a.name < b.name end ) return data end --Карточка растения (дерево) новая-- function placeBuy() local text=' Место покупки растения ' if (pcall(function () if arrDataid.agronom nil then error() end end)) then text=text..agronom(id) else text=text..' Саженцы этого дерева продается в Магазине. ' end return text end function location() local text=' Локация ' if arrDataid.location '' then text=text..' Можно выращивать в любой локации. ' else text=text..' Можно выращивать только в локации [['..arrDataid.location..']]. ' end return text end function gal() local img={ "tree", "del", "bronze", "silver", "gold", "platinum", "diamond", } local text=' Галерея '.. ' ' for i, v in ipairs(img) do text=text.. '{#if: ( del.png}})=0 | | нет }}' end text=text..' '.. ' ' return text end function experience() local text="" text=text..' Опыт '.. ' За посадку и сбор урожая 1 единицы растения начисляется опыт, который необходим для перехода к следующему уровню игры. ' return text end function medal() local text="" text=text..' Медали '.. ' За сбор урожая даются медали. Медали позволяют увеличить количество опыта за сбор 1 единицы растения. ' return text end function p.getView( frame ) id = frame.args1 return path().. infobox().. description().. placeBuy().. location().. ' Загружается на фабрики '..(require("Module:Factory").fab(nameprod)).. ' Можно скормить животным '..(require("Module:Animal").fab(nameprod)).. experience().. medal().. gal().. 'Category:Семена'.. '[[Category:'..arrDataid.tp..']]' end --Карточка растения (дерево) старая-- function p.tree( frame ) local id = frame.args1 local text='' text=text..' [['..arrDataid.tp1..']] / [['..arrDataid.tp..']] / '..id..' '.. ' Общие сведения '.. ' 200px '.. ' '..id..' ' if arrDataid.nameprod '' then nameprod=id else nameprod=arrDataid.nameprod end text=text..' 50px '..nameprod..' ' text=text..' Рост: �� '..arrDataid.tm..' час., доход: ' if arrDataid.tm~=0 and arrDataid.sell~=0 then text=text..(math.floor(arrDataid.sell/arrDataid.tm*100)/100) else text=text..'-' end text=text..' 15px в час '.. ' Покупка ('..id..') Продажа ('..nameprod..') ' text=text..' ' if arrDataid.buy~=0 then text=text..' '..arrDataid.buy..' 15px ' else if pcall(function () if arrDataid.buyagro nil then error() end end) then text=text..' '..arrDataid.buyagro..' 15px ' end end text=text..' '..arrDataid.sell..' 15px ' if arrDataid.tm~=0 and arrDataid.buyagro 0 and arrDataid.sell~=0 then text=text..' Покупка дерева окупится через '..(math.floor(arrDataid.buy/arrDataid.sell*arrDataid.tm/24*100)/100)..' дней, для этого нужно снять '..(math.floor(arrDataid.buy/arrDataid.sell*100)/100)..' урожаев. ' elseif pcall(arrDataid.buyagro) and arrDataid.buyagro>0 then text=text..' Окупаемость дерева вычислить нельзя, т.к. дерево покупается за агробаксы. ' end if arrDataid.exper~=0 then text=text..' После посадки дерева вы получаете '..arrDataid.exper..' . ' end if arrDataid.del~=0 then text=text..' При удалении дерева вы получаете '..arrDataid.del..' 15px. ' end text=text..' Можно выращивать в поле, промзоне и зоне декора. '.. ' '.. ' Место покупки растения ' local ok, msg = pcall(function () if arrDataid.agronom nil then error() end text=text..' Создается в Домике агронома. ' end) if not ok then text=text..' Продается в Магазине. ' end text=text..' Локация ' if arrDataid.location '' then text=text..' Можно выращивать в любой локации. ' else text=text..' Можно выращивать только в локации "'..arrDataid.location..'". ' end --Список фабрик, на которые можно загрузить деревья-- text=text..' Загружается на фабрики '..(require("Module:Factory").fab(nameprod)).. ' Можно скормить животным '..(require("Module:Animal").fab(nameprod)).. 'Category:Семена'.. '[[Category:'..arrDataid.tp..']]' return text end function agronom(id) --Подготовка списка с ценой продажи деревеьев-- local data={} local n for key, v in pairs(arrData) do n=(v.nameprod '') and v.name or v.nameprod datan={sell=v.sell,name=v.name} end local text=' Семена этого растения создаются в Домике агронома. ' if not pcall(function () if arrDataid.create nil then error() end end) then return text end text=text..' Исследование семян '.. ' Сначала в Домике агронома проводится исследование, для которого потребуется: ' local td1="" local td2="" local td3="" for key, v in pairs(arrDataid.create) do if pcall(function () if datav.name.name nil then error() end end) then td1=td1..' [['..datav.name.name..'|'..v.name..']] ' else td1=td1..' '..v.name..' ' end td2=td2..' ' td3=td3..' '..v.c if v.name~='Монеты' then td3=td3..' шт.' end if pcall(function () if datav.name.sell nil then error() end end) then td3=td3..' x '..datav.name.sell..' 15px = '..datav.name.sell*v.c..' 15px' end td3=td3..' ' end text=text.. ' '..td1..' '.. ' '..td2..' '.. ' '..td3..' '.. ' '.. ' Как видно из таблицы, первые два ингредиента для исследования ([['..data[arrDataid.create1.name].name..']] и [['..data[data[arrDataid.create2.name].name].name..']]) – это плоды деревьев. Найти плоды можно на складе (если, конечно, у вас на ферме посажены такие деревья). '.. ' Третий ингредиент для исследования – ([['..arrDataid.create3.name..']]) – материал. Обычно материалы покупаются за агробаксы. Но материалы для исследования в Домике агронома можно также получить бесплатно у друзей. Для этого нажмите синий плюсик 15px в правом верхней углу картинки с материалом, откроется окошко с названием материала: '.. '[[Файл:'..arrDataid.create3.name..'material1.png|200px|center]]' text=text..' нажмите в окошке кнопку «Попросить». После этого ваши друзья смогут совершенно бесплатно отправить вам необходимый материал. '.. ' Как только ваши друзья передадут вам достаточное количество материала, вместо синего плюсика в углу вы увидите зеленую галочку 15px. '.. ' Все ингредиенты собраны – можно начинать исследование. Нажмите на зеленую кнопку «Исследовать». ' text=text..' Время исследования: '..arrDataid.createtm..' час. '.. ' Исследование проводится только один раз - чтобы разблокировать создание семян. '.. ' Создание семян '.. ' Когда исследование закончено, можно начинать создавать семена. Для создания 1 единицы семян потребуется: '.. ' ' text=text..' ' local td1="" local td2="" local td3="" for key, v in pairs(arrDataid.agronom) do if pcall(function () if datav.name.name nil then error() end end) then td1=td1..' [['..datav.name.name..'|'..v.name..']] ' else td1=td1..' '..v.name..' ' end td2=td2..' ' td3=td3..' '..v.c if v.name~='Монеты' then td3=td3..' шт.' end if pcall(function () if datav.name.sell nil then error() end end) then td3=td3..' x '..datav.name.sell..' 15px = '..datav.name.sell*v.c..' 15px' end td3=td3..' ' end text=text.. ' '..td1..' '.. ' '..td2..' '.. ' '..td3..' '.. ' '.. require("Module:Gallery").Gallery(id..'agronom',3) return text end return p